#pragma once

#include <assert.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define SIZE 1024
#define SYNC_NOW    1//无缓冲
#define SYNC_LINE   2//行缓冲，默认采用这个
#define SYNC_FULL   4//全缓冲

typedef struct _FILE{
    int flags; //刷新方式
    int fileno;//文件描述符
    int cap; //buffer的总容量
    int size; //buffer当前的使用量
    char buffer[SIZE];//存放数据
}FILE_;


FILE_ *fopen_(const char *path_name, const char *mode);//打开文件操作
void fwrite_(const void *ptr, int num, FILE_ *fp);//写入操作
void fclose_(FILE_ * fp);//关闭操作
void fflush_(FILE_ *fp);//强制刷新操作
